The use of portable electronic devices capable of storing data has greatly increased in recent times. Examples of such portable devices are laptop computers, personal digital assistants (PDAs), mobile telephones, and hybrid devices combining the functionality of PDAs and mobile telephones. Users often need to store valuable confidential information on their devices and, in order to prevent third parties from accessing such data, the data may be encrypted using a suitable encryption application running on the device. Example applications are the File Crypto set of products available from F-Secure®, Helsinki Finland.
An encryption application for use on a portable device typically makes use of a so-called symmetric cipher. A symmetric cipher encrypts data by applying a key to the data using an encryption function. The data can be decrypted by applying the same key to the data using an inverse encryption function. Typically, for each new file or folder to be encrypted a specific symmetric key is generated. These folder keys are then encrypted with a master key generated by the user when installing the encryption application. When not in use, the master key is encrypted with a passphrase (known to the authorised user) and stored in a memory of the device. When encryption and decryption is required, the master key must be available to the encryption application in unencrypted form. Typically, when a user turns on a portable device, he or she is prompted to enter the passphrase, and the master key is decrypted and stored in memory where it remains until the device is switched off.